import router from './router'
import store from './store'

router.beforeEach(async(to, from, next) => {
  // 白名单
  const whiteList = ['/login', '/404']
  // 判断是否有token
  if (store.getters.token) {
    // 是否到登录页
    if (to.path === '/login') {
      // 到主页
      next('/')
    } else {
      // 放行
      // 如果没有用户信息，则发送请求，有信息就不再发请求，用用户信息中的值来判断，因为，空对象也是true
      if (!store.getters.userId) {
        await store.dispatch('user/getUserInfo')
      }
      next()
    }
  } else {
    // 没有token
    // 是否白名单
    if (whiteList.indexOf(to.path) > -1) {
      // 放行
      next()
    } else {
      // 到登陆页
      next('/login')
    }
  }
})
